gtk4.git
8 years agocellrendererpixbuf: Store the texture in the iconhelper paintable
Benjamin Otte [Fri, 16 Mar 2018 03:50:26 +0000 (04:50 +0100)]
cellrendererpixbuf: Store the texture in the iconhelper paintable

That's kinda weird but allows us to delete the texture case from
GtkIconHelper and GTK_IMAGE_TEXTURE from the GtkImageType enum.

And it doesn't cause any other problems because the cell renderer
can't deal with paintables - otherwise it would mirror GtkImage and have
a "paintable" property instead.

8 years agoimage: Remove gtk_image_set_texture()
Benjamin Otte [Fri, 16 Mar 2018 03:29:42 +0000 (04:29 +0100)]
image: Remove gtk_image_set_texture()

gtk_image_get_paintable() is a perfect replacement, so use that one.

8 years agoimage: Add gtk_image_set_can_shrink()
Benjamin Otte [Thu, 15 Mar 2018 17:48:44 +0000 (18:48 +0100)]
image: Add gtk_image_set_can_shrink()

Images with that value set will request a 0x0 minimum size and scale
down their contents.

8 years agoimage: Add gtk_image_set_keep_aspect_ratio()
Benjamin Otte [Thu, 15 Mar 2018 17:10:01 +0000 (18:10 +0100)]
image: Add gtk_image_set_keep_aspect_ratio()

If set, the image will draw its contents while keeping their aspect
ratio. That means empty areas show up on the top/bottom or left/right.

Also move the special-case snapshotting code for icons to
GtkIconHelper. That's where it belongs.

8 years agoiconhelper: Implement GdkPaintable
Benjamin Otte [Thu, 15 Mar 2018 08:40:52 +0000 (09:40 +0100)]
iconhelper: Implement GdkPaintable

This only implements the vfuncs, but does not actually emit signals
yet.

It's also not useed for anything other than snapshot() so far, this
will come in later commits.

8 years agoicontheme: Remove surface support
Benjamin Otte [Thu, 15 Mar 2018 02:47:19 +0000 (03:47 +0100)]
icontheme: Remove surface support

It's not used anymore.

8 years agoimage: Don't handle surfaces anymore
Benjamin Otte [Thu, 15 Mar 2018 02:01:58 +0000 (03:01 +0100)]
image: Don't handle surfaces anymore

Lots of special cases that are no longer needed because no code uses
surfaces.

Also remove the GdkCellRendererPixbuf:surface property.

8 years agotests: Port from surface to texture
Benjamin Otte [Thu, 15 Mar 2018 01:59:03 +0000 (02:59 +0100)]
tests: Port from surface to texture

8 years agodragsource: Replace gtk_drag_source_set_icon_surface()
Benjamin Otte [Thu, 15 Mar 2018 01:53:17 +0000 (02:53 +0100)]
dragsource: Replace gtk_drag_source_set_icon_surface()

... with gtk_drag_source_set_icon_paintable().

8 years agoinspector: Use Textures for images in the property view
Benjamin Otte [Thu, 15 Mar 2018 01:36:13 +0000 (02:36 +0100)]
inspector: Use Textures for images in the property view

8 years agocellrendererpixbuf: Put pixbufs into textures
Benjamin Otte [Wed, 14 Mar 2018 04:21:56 +0000 (05:21 +0100)]
cellrendererpixbuf: Put pixbufs into textures

... instead of going via surfaces.

A side effect is that the pixbuf property is no longer readable because
we have no good way to get the pixbuf back out of the texture, but I
don't think this matters a lot.

If people want to read the pixbuf property, we need to add some code to
make that work.

8 years agoimage: Load resources and files into textures
Benjamin Otte [Wed, 14 Mar 2018 03:45:25 +0000 (04:45 +0100)]
image: Load resources and files into textures

Instead of loading them into surfaces (which we want to get rid of), we
load into textures.
In fact, we introduce a new paintable subclass called a GtkScaler that
takes care of tracking scaling.

This also ideally gets rid of an extra conversion once renderers learn
to render textures directly.

8 years agoiconhelper: Handle texture scale again
Benjamin Otte [Wed, 14 Mar 2018 03:38:18 +0000 (04:38 +0100)]
iconhelper: Handle texture scale again

We will need that in the next commits.

8 years agoiconhelper: Turn into a GObject
Benjamin Otte [Wed, 14 Mar 2018 00:56:30 +0000 (01:56 +0100)]
iconhelper: Turn into a GObject

8 years agoiconhelper: Rework to allow resizing of paintables
Benjamin Otte [Tue, 27 Feb 2018 00:55:03 +0000 (01:55 +0100)]
iconhelper: Rework to allow resizing of paintables

GtkImage will now allow paintables to be rendered to the full image and
the image will be sized according to CSS rules for image sizing.

8 years agoiconhelper: Rename function
Benjamin Otte [Tue, 27 Feb 2018 00:01:26 +0000 (01:01 +0100)]
iconhelper: Rename function

There are no more icon sizes, this is now the default size we render at.

This naming change is kinda relevant because of CSS terminology.

8 years agopaintable: Add gdk_paintable_compute_concrete_size()
Benjamin Otte [Mon, 26 Feb 2018 19:51:38 +0000 (20:51 +0100)]
paintable: Add gdk_paintable_compute_concrete_size()

Do the CSS size computation routine. This will be used elsewhere soon.

8 years agotooltips: Make icon a paintable
Benjamin Otte [Fri, 16 Mar 2018 02:38:50 +0000 (03:38 +0100)]
tooltips: Make icon a paintable

8 years agoentry: Make icons a paintable
Benjamin Otte [Fri, 16 Mar 2018 02:32:05 +0000 (03:32 +0100)]
entry: Make icons a paintable

8 years agodnd: Make dnd icon API take a paintable
Benjamin Otte [Sun, 18 Feb 2018 04:27:59 +0000 (05:27 +0100)]
dnd: Make dnd icon API take a paintable

... instead of a texture.

8 years agoaboutdialog: Make logo a paintable
Benjamin Otte [Sun, 18 Feb 2018 04:05:40 +0000 (05:05 +0100)]
aboutdialog: Make logo a paintable

No reason to limit this to textures anymore.

8 years agocssimage: Implement dynamicity for cross-fades
Benjamin Otte [Wed, 28 Feb 2018 00:15:00 +0000 (01:15 +0100)]
cssimage: Implement dynamicity for cross-fades

8 years agocss: Implement dynamic values for array values
Benjamin Otte [Sat, 17 Feb 2018 23:14:48 +0000 (00:14 +0100)]
css: Implement dynamic values for array values

This makes animated background-images work.

8 years agocssimage: Add GtkCssImagePaintable
Benjamin Otte [Sat, 17 Feb 2018 19:29:25 +0000 (20:29 +0100)]
cssimage: Add GtkCssImagePaintable

This type can hold any GdkPaintable.

Use it to replace GtkCssImageSurface, which used to hold a GdkTexture.

8 years agocssimage: Add gtk_css_image_is_invalid()
Benjamin Otte [Sat, 17 Feb 2018 19:31:14 +0000 (20:31 +0100)]
cssimage: Add gtk_css_image_is_invalid()

Use that instead of hacks to guess when an image is considered invalid
according to https://drafts.csswg.org/css-images-4/#invalid-image

Also add a GtkCssImageInvalid that implements the behavior of invalid
images according to the CSS spec so thjat image implementations can
refer to that image.

8 years agobuild: Switch order of subdirectories
Benjamin Otte [Sat, 17 Feb 2018 15:43:21 +0000 (16:43 +0100)]
build: Switch order of subdirectories

This makes demos be compiled/linked before tests. And that means that
while hacking, I can already run widget-factory when the tests are
still linking.

8 years agoimage: Implement support for paintables
Benjamin Otte [Fri, 16 Feb 2018 09:50:49 +0000 (10:50 +0100)]
image: Implement support for paintables

This includes adding support to GtkImageDefintion and GtkIconHelper.

Only GtkImage handles support for signals from the paintable.

8 years agoiconhelper: transition to GdkPaintable
Benjamin Otte [Fri, 16 Feb 2018 08:09:35 +0000 (09:09 +0100)]
iconhelper: transition to GdkPaintable

This is in preparation for accepting the image type paintable.

It's a bit incovenient because we need more code to track width/height
ourselves (as the paintable no longer does it for us), but it's not too
hard.

GtkIconHelper does not track invalidations on the paintable.

8 years agotexture: Implement GdkPaintable
Benjamin Otte [Fri, 16 Feb 2018 07:41:48 +0000 (08:41 +0100)]
texture: Implement GdkPaintable

This is kind of evil because we need to link to GTK to be able to
snapshot, but I hope nobody notices.

8 years agosnapshot: "Inherit" from GdkSnapshot
Benjamin Otte [Fri, 16 Feb 2018 05:30:48 +0000 (06:30 +0100)]
snapshot: "Inherit" from GdkSnapshot

This is a neat trick to get around the circularity between GDK, GSK and
GTK that we inherit with the GdkPaintable interface.

GdkPaintable uses GtkSnapshot
GtkSnapshot creates GskRenderNodes
GskRenderNodes use GdkTextures
GdkTexture will soon implement GdkPaintable

This causes a loop that spans GDK, GSK and GTK and this is the easiest
way to resolve it without breaking bindings (at least that's the idea).

8 years agogdk: Add GdkPaintable
Benjamin Otte [Fri, 16 Feb 2018 04:32:32 +0000 (05:32 +0100)]
gdk: Add GdkPaintable

8 years agocss: Implement support for dynamic values
Benjamin Otte [Tue, 13 Feb 2018 07:22:34 +0000 (08:22 +0100)]
css: Implement support for dynamic values

This adds a new GtkStyleAnimation called GtkCssDynamic (for lack of a
better name) that is spawned whenever at least one dynamic value is part
of the GtkCssStyle.

8 years agocssimage: Implement dynamic values
Benjamin Otte [Tue, 13 Feb 2018 06:04:21 +0000 (07:04 +0100)]
cssimage: Implement dynamic values

No image actually implements it yet, but this is the plumbing.

8 years agocss: Introduce the idea of dynamic values
Benjamin Otte [Tue, 13 Feb 2018 04:55:33 +0000 (05:55 +0100)]
css: Introduce the idea of dynamic values

Dynamic values are values that change their contents with the current
(monotonic) time.

This just introduces the GtkCssValue API for it.

8 years agovulkan: Our data is premultiplied, don't pretend it isn't
Benjamin Otte [Tue, 13 Mar 2018 15:53:31 +0000 (16:53 +0100)]
vulkan: Our data is premultiplied, don't pretend it isn't

If the backend can't do premultiplied alpha, better make the backend treat

8 years agocss: Remove ability to query css images as cairo patterns
Benjamin Otte [Thu, 15 Mar 2018 02:50:44 +0000 (03:50 +0100)]
css: Remove ability to query css images as cairo patterns

Nobody's doing that. And CSS Images are no longer using Cairo anyway.

If we wanted to support querying them (hint: we don't) we should be
using GdkPaintable.

8 years agoaboutdialog: The default icons are textures these days
Benjamin Otte [Tue, 13 Mar 2018 19:04:21 +0000 (20:04 +0100)]
aboutdialog: The default icons are textures these days

8 years agodemos: Unbreak icon for fishbowl demo
Benjamin Otte [Sun, 4 Mar 2018 18:47:56 +0000 (19:47 +0100)]
demos: Unbreak icon for fishbowl demo

351559fcfae1996143e4c1702aa9fc174c6c345f was to eager in simplifying
things.

8 years agocss: Fix compiler warning
Benjamin Otte [Fri, 16 Mar 2018 05:04:02 +0000 (06:04 +0100)]
css: Fix compiler warning

...

8 years agoImprove the scale handling
Matthias Clasen [Fri, 16 Mar 2018 00:25:06 +0000 (20:25 -0400)]
Improve the scale handling

Always use the smallest scale that is larger than requested,
or, failing that, the largest available scale.

8 years agoMerge branch 'css-image-scaled' into 'master'
Matthias Clasen [Thu, 15 Mar 2018 23:58:40 +0000 (23:58 +0000)]
Merge branch 'css-image-scaled' into 'master'

Css image scaled

See merge request GNOME/gtk!62

8 years agoci: Restore ccache, but do not cache it across jobs
Emmanuele Bassi [Thu, 15 Mar 2018 12:01:45 +0000 (12:01 +0000)]
ci: Restore ccache, but do not cache it across jobs

The GitLab cache is kept across jobs, whether they succeeded or not:
this means that if a compiler check fails during the Meson
configuration, the small compiler program gets cached and restored the
next time the job is run, thus failing again.

8 years agoMerge branch 'wip/filechooser-non-default-display-gtk4' into 'master'
Matthias Clasen [Thu, 15 Mar 2018 17:44:49 +0000 (17:44 +0000)]
Merge branch 'wip/filechooser-non-default-display-gtk4' into 'master'

Fix filechooser dialog using non default display (gtk4)

Closes #83

See merge request GNOME/gtk!60

8 years agoUpdate the expected results in the testsuite
Matthias Clasen [Thu, 15 Mar 2018 17:38:41 +0000 (13:38 -0400)]
Update the expected results in the testsuite

the -gtk-scaled() change in the previous commit makes it so
that we now print out the scale factors. Update the expected
output of affected tests to take that into account.

8 years agogl renderer: Set border program outline state
Timm Bäder [Thu, 15 Mar 2018 17:17:57 +0000 (18:17 +0100)]
gl renderer: Set border program outline state

8 years agogl renderer: Remove shadow program
Timm Bäder [Thu, 15 Mar 2018 17:07:35 +0000 (18:07 +0100)]
gl renderer: Remove shadow program

Drawing shadows is the same task as drawing text in our case and these
two shaders have been the same thing for quite a while.

8 years agogl renderer: Fix clipped borders
Timm Bäder [Thu, 15 Mar 2018 16:27:19 +0000 (17:27 +0100)]
gl renderer: Fix clipped borders

Stop abusing the clip rect for borders.

8 years agoshaderbuilder: Remove unused API
Timm Bäder [Thu, 15 Mar 2018 14:56:36 +0000 (15:56 +0100)]
shaderbuilder: Remove unused API

8 years agogl: Move shaderbuilder into gl/ subdirectory
Timm Bäder [Thu, 15 Mar 2018 14:06:46 +0000 (15:06 +0100)]
gl: Move shaderbuilder into gl/ subdirectory

It only handles OpenGL shaders.

8 years agogl renderer: Draw offscreen nodes in device pixels
Timm Bäder [Thu, 15 Mar 2018 12:52:07 +0000 (13:52 +0100)]
gl renderer: Draw offscreen nodes in device pixels

We need to draw them upscaled, of course. This fixes button hover (or,
more generally, crossfade nodes) in hidpi setups.

8 years agotestsuite: Add more gl renderer tests
Timm Bäder [Thu, 15 Mar 2018 11:58:51 +0000 (12:58 +0100)]
testsuite: Add more gl renderer tests

8 years agogl tests: Update clipped cross fade output
Timm Bäder [Thu, 15 Mar 2018 11:41:11 +0000 (12:41 +0100)]
gl tests: Update clipped cross fade output

8 years agotestsuite: Add a GL gradient test
Timm Bäder [Thu, 15 Mar 2018 10:15:35 +0000 (11:15 +0100)]
testsuite: Add a GL gradient test

8 years agoMake GtkCssImageScaled handle scales properly
Matthias Clasen [Thu, 15 Mar 2018 05:15:52 +0000 (01:15 -0400)]
Make GtkCssImageScaled handle scales properly

We slightly expand the syntax of -gtk-scaled to allow
specifying an explicit scale after each image, and then
we create a single-image GtkCssImageScaled with the
preferred scale in compute().

8 years agogl renderer: Fix rounded clips in hidpi
Timm Bäder [Thu, 15 Mar 2018 10:01:53 +0000 (11:01 +0100)]
gl renderer: Fix rounded clips in hidpi

8 years agospinbutton: Remove an unnecessary queue_draw call
Timm Bäder [Thu, 15 Mar 2018 08:44:49 +0000 (09:44 +0100)]
spinbutton: Remove an unnecessary queue_draw call

This is done automatically in case the spinbutton value actually
changes.

8 years agogdk: Remove unused variable
Timm Bäder [Wed, 14 Mar 2018 19:41:09 +0000 (20:41 +0100)]
gdk: Remove unused variable

8 years agoGskGLDriver: Use g_assert_cmphex for GL constants
Timm Bäder [Wed, 14 Mar 2018 18:21:09 +0000 (19:21 +0100)]
GskGLDriver: Use g_assert_cmphex for GL constants

8 years agoTrivial formatting fixes
Matthias Clasen [Thu, 15 Mar 2018 03:23:03 +0000 (23:23 -0400)]
Trivial formatting fixes

Fix some whitespace problems.

8 years agotestspinbutton: Add button to toggle wrap on Spins
Daniel Boles [Wed, 14 Mar 2018 22:39:19 +0000 (22:39 +0000)]
testspinbutton: Add button to toggle wrap on Spins

I found myself wanting to test this for something else, so let's test
it. It revealed a bug immediately!

https://gitlab.gnome.org/GNOME/gtk/issues/88

8 years agotestspinbutton: Orient box orthogonally to Spins
Daniel Boles [Wed, 14 Mar 2018 22:37:34 +0000 (22:37 +0000)]
testspinbutton: Orient box orthogonally to Spins

This makes better use of space.

8 years agotestsuite: Simplify GL test definition
Timm Bäder [Wed, 14 Mar 2018 16:24:28 +0000 (17:24 +0100)]
testsuite: Simplify GL test definition

8 years agotestsuite: Add a GL tests for clipped rounded clipped nodes
Timm Bäder [Wed, 14 Mar 2018 11:39:15 +0000 (12:39 +0100)]
testsuite: Add a GL tests for clipped rounded clipped nodes

8 years agogl renderer: Draw rounded clip child to a texture
Timm Bäder [Wed, 14 Mar 2018 11:36:32 +0000 (12:36 +0100)]
gl renderer: Draw rounded clip child to a texture

And then clip the texture using the current (maybe also rounded) clip.
This way, the result is correct. We don't necessarily have to do the
offscreen drawing in any case, but got the safe route for now.

8 years agogl renderer: Properly draw gl textures from a different context
Timm Bäder [Wed, 14 Mar 2018 11:23:38 +0000 (12:23 +0100)]
gl renderer: Properly draw gl textures from a different context

Temporarily switch to the texture's gl context, download the texture and
create a new one in our context for it.

8 years agofixed: Remove snapshot implementation
Timm Bäder [Wed, 14 Mar 2018 10:00:02 +0000 (11:00 +0100)]
fixed: Remove snapshot implementation

It does the same thing as the default implementation.

8 years agosnapshot: Ignore 0 sized clip nodes
Timm Bäder [Wed, 14 Mar 2018 09:51:55 +0000 (10:51 +0100)]
snapshot: Ignore 0 sized clip nodes

This may happen due to the intersection before.

8 years agogtkmenu: Remove unused constant
Carlos Soriano [Wed, 14 Mar 2018 15:03:38 +0000 (16:03 +0100)]
gtkmenu: Remove unused constant

It was used in gtk3 but not in master anymore.

8 years agoentrycompletion: Realize popup after setting screen
Jonas Ådahl [Wed, 14 Mar 2018 03:54:02 +0000 (11:54 +0800)]
entrycompletion: Realize popup after setting screen

Realization is done as a side effect of calling
_gtk_entry_completion_resize_popup(), but if this is done before the
GdkScreen of the GtkWindow is set up correctly, it may result in the
widget being unrealized when the screen is updated. This may happen
when the file dialog parent window is not using the default GdkDisplay.

To avoid this issue, realize the popup after the screen has been
properly set up.

Fixes #83 in gtk4

8 years agosnapshot: Add missing (nullable) annotation
Timm Bäder [Tue, 13 Mar 2018 21:41:18 +0000 (22:41 +0100)]
snapshot: Add missing (nullable) annotation

8 years agowidget: Simplify setting a default direction
Timm Bäder [Mon, 12 Mar 2018 09:00:52 +0000 (10:00 +0100)]
widget: Simplify setting a default direction

No reason for the second paramter to be a pointer.

8 years agolabel: Remove dead NULL check
Timm Bäder [Sat, 10 Mar 2018 14:44:53 +0000 (15:44 +0100)]
label: Remove dead NULL check

We only create the gesture when priv->select_info is !NULL.

8 years agoMerge branch 'master' into 'master'
Christoph Reiter [Tue, 13 Mar 2018 20:30:53 +0000 (20:30 +0000)]
Merge branch 'master' into 'master'

Add proper annotation for gdk_frame_clock_get_refresh_info

See merge request GNOME/gtk!55

8 years agorun-docker.sh: Disable SELinux for the container and update the image tag
Christoph Reiter [Tue, 13 Mar 2018 20:08:56 +0000 (21:08 +0100)]
run-docker.sh: Disable SELinux for the container and update the image tag

On Fedora and similar SELinux by default prevents containers accessing
mounted host directories. This script is just used for testing,
so disable it.

8 years agoUpdate CONTRIBUTING.md
Emmanuele Bassi [Tue, 13 Mar 2018 18:13:46 +0000 (18:13 +0000)]
Update CONTRIBUTING.md

Update the instructions to match the GitLab workflow.

8 years agoci: Add explicit dependency on "which"
Emmanuele Bassi [Tue, 13 Mar 2018 17:56:44 +0000 (17:56 +0000)]
ci: Add explicit dependency on "which"

The xvfb-run script depends on it, but it seems Fedora packages ended up
forgetting about it.

8 years agoci: Remove ccache
Emmanuele Bassi [Tue, 13 Mar 2018 17:03:27 +0000 (17:03 +0000)]
ci: Remove ccache

There are issues with the caching; CI will randomly fail to create new
files used when testing features.

8 years agoci: Add GLib build dependencies
Emmanuele Bassi [Tue, 13 Mar 2018 16:28:42 +0000 (16:28 +0000)]
ci: Add GLib build dependencies

Since we may end up building GLib as a subproject, we're going to need
all the appropriate GLib build dependencies as well as the GTK ones.

8 years agoci: Use a different Docker image
Emmanuele Bassi [Tue, 13 Mar 2018 16:05:03 +0000 (16:05 +0000)]
ci: Use a different Docker image

I've rebuilt the new Docker image we use for CI to include GStreamer in
the dependencies.

We really need to have the Docker registry hosted on gnome.org, to avoid
pointing people at Dockerhub.

8 years agoAnnotate gdk_gl_texture_new() appropriately
Emmanuele Bassi [Mon, 12 Mar 2018 10:06:59 +0000 (10:06 +0000)]
Annotate gdk_gl_texture_new() appropriately

This is a constructor, and it needs a transfer annotation.

Sadly, the resulting introspection representation is going to be a less
than satisfactory `Gdk.gl_texture_new()`, because there is no such thing
as a GdkGLTexture in the public API.

8 years agoInitialise variables
Emmanuele Bassi [Mon, 12 Mar 2018 10:03:54 +0000 (10:03 +0000)]
Initialise variables

The dx and dy variables may be left uninitialized by the coordinate
translation — or so the C compiler thinks. Let's avoid a warning when
building.

8 years agoUse the same arguments for print backends
Emmanuele Bassi [Mon, 12 Mar 2018 10:02:24 +0000 (10:02 +0000)]
Use the same arguments for print backends

All the print backend shared modules should use the same C preprocessor
symbols.

8 years agoci: Add gstreamer to the Docker image
Emmanuele Bassi [Mon, 12 Mar 2018 09:54:56 +0000 (09:54 +0000)]
ci: Add gstreamer to the Docker image

We're going to need it for the media interface.

8 years agoci: Use the right path for the logs
Emmanuele Bassi [Thu, 1 Mar 2018 10:23:14 +0000 (17:23 +0700)]
ci: Use the right path for the logs

The meson-logs directory is under the `_build` directory.

8 years agoMerge branch 'query-wayland-registry' into 'master'
Matthias Clasen [Tue, 13 Mar 2018 02:09:26 +0000 (02:09 +0000)]
Merge branch 'query-wayland-registry' into 'master'

gtkimmodule: make match_backend() query

See merge request GNOME/gtk!56

8 years agoFileChooserWidget: Fix leaks in .get_subtitle()
Daniel Boles [Tue, 13 Mar 2018 00:19:51 +0000 (00:19 +0000)]
FileChooserWidget: Fix leaks in .get_subtitle()

Now that subtitle's default value "Searching" for OPERATION_MODE_SEARCH
is duplicated as it should be, we cannot reassign other strings to it
anymore, as that resulted in the original dupe of "Searching" leaking.

Fix this by only assigning the dup'd "Searching" after trying to get
more specific values, not before. We therefore need to set it to NULL
during its declaration, and that means we needn't in the final else.

8 years agoFileChooserWidget: Avoid crash freeing static str
Daniel Boles [Mon, 12 Mar 2018 22:44:37 +0000 (22:44 +0000)]
FileChooserWidget: Avoid crash freeing static str

Having a FileChooserDialog in location-entry mode then pressing
<primary>f to move to search mode would crash with an invalid free().

In that case, FileChooserWidget.get_subtitle() returned a static string
straight from gettext. This crashed when the GBinding from :subtitle to
FileChooserDialog’s HeaderBar:subtitle shortly tried to free the string.

Fix by duplicating the string before returning it, like all other paths.

https://bugzilla.gnome.org/show_bug.cgi?id=791004

8 years agogtkimmodule: make match_backend() query
Peter Bloomfield [Mon, 12 Mar 2018 21:46:57 +0000 (17:46 -0400)]
gtkimmodule: make match_backend() query

…the wayland registry.

Wnen _gtk_im_module_get_default_context_id calls
match_backend (context_id) and the default GdkDisplay
is wayland, match_backend() should return TRUE only if
gdk_wayland_display_query_registry (display, "gtk_text_input_manager")
returns TRUE.

8 years agoUpdate Russian translation
Stas Solovey [Mon, 12 Mar 2018 21:08:05 +0000 (21:08 +0000)]
Update Russian translation

(cherry picked from commit 0e016686838982253b1dc161f4d9df48ce091abd)

8 years agoUpdated Lithuanian translation
Aurimas Černius [Mon, 12 Mar 2018 21:00:48 +0000 (23:00 +0200)]
Updated Lithuanian translation

8 years agotestinfobar: Test more properties, response signal
Daniel Boles [Mon, 12 Mar 2018 18:57:06 +0000 (18:57 +0000)]
testinfobar: Test more properties, response signal

Also test :message-type, :show-close-button, and ::response.

8 years agoUpdated Czech translation
Marek Černocký [Mon, 12 Mar 2018 19:08:48 +0000 (20:08 +0100)]
Updated Czech translation

8 years agoUpdate Estonian translation
Mart Raudsepp [Mon, 12 Mar 2018 16:27:50 +0000 (16:27 +0000)]
Update Estonian translation

(cherry picked from commit e4e2b7687d455566b2102404487fcaa6b1b0077a)

8 years agotexture: Change download vfunc
Benjamin Otte [Mon, 12 Mar 2018 16:17:30 +0000 (17:17 +0100)]
texture: Change download vfunc

A problem with textures is that they can become too big for GPU memory,
which would require tiling. But for tiling we only need to download
the pixels needed by the tile.

Similarly, there might be interest to not upload full textures if a
renderer knows it only needs a small part.

Both of these methods require the ability to specify an area of the
texture to be downloaded. So change the download vfunc to include
this parameter now before we add even more textures later.

A private gdk_texture_download_area() function has also been added, but
nobody is using it yet.

8 years agotexture: Export gdk_memory_texture_new() and GdkMemoryFormat
Benjamin Otte [Mon, 12 Mar 2018 04:12:54 +0000 (05:12 +0100)]
texture: Export gdk_memory_texture_new() and GdkMemoryFormat

Also add tests for all these newfangled formats.

8 years agoMerge branch 'wip/dboles/frame-yalign-byealign' into 'master'
Daniel Boles [Mon, 12 Mar 2018 16:17:11 +0000 (16:17 +0000)]
Merge branch 'wip/dboles/frame-yalign-byealign' into 'master'

Frame: Erase the now-useless property label-yalign

See merge request GNOME/gtk!40

8 years agoListBox: Avoid ::row-activated/Row::activate ambig
Daniel Boles [Mon, 12 Mar 2018 16:08:29 +0000 (16:08 +0000)]
ListBox: Avoid ::row-activated/Row::activate ambig

…uity, by adding a doc comment to Row::activate explaining what it does
and why it is probably not what the user reading that is looking for.

https://bugzilla.gnome.org/show_bug.cgi?id=794008

8 years agoUpdate Polish translation
Piotr Drąg [Mon, 12 Mar 2018 15:48:31 +0000 (16:48 +0100)]
Update Polish translation

8 years agotestinfobar: Add simple test of :visible/:revealed
Daniel Boles [Mon, 12 Mar 2018 15:29:21 +0000 (15:29 +0000)]
testinfobar: Add simple test of :visible/:revealed

This exists merely to prove that, having added :revealed, show() and
hide() now work reliably, as does set_revealed() for the animated case.

https://bugzilla.gnome.org/show_bug.cgi?id=710888

8 years agoAdd proper annotation for gdk_frame_clock_get_refresh_info
Sander Sweers [Mon, 12 Mar 2018 13:29:09 +0000 (14:29 +0100)]
Add proper annotation for gdk_frame_clock_get_refresh_info

See https://gitlab.gnome.org/GNOME/gtk/issues/77